<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 对称二叉树 -->
    <script>
      const isSymmetric = root => {
        const check = (left, right) => {
          if (left == null && right == null) {
            // 两个子树都为null，是对称的
            return true
          }
          if (left && right) {
            // 两个子树都存在，则需要：root值相同，且他们的子树也满足镜像
            return left.val == right.val && check(left.left, right.right) && check(left.right, right.left)
          }
          // 一个子树存在一个不存在，肯定不对称
          return false
        }
        if (root == null) {
          // 如果传入的root就是null，对称
          return true
        }
        // 否则，判断它的左右子树是否满足对称
        return check(root.left, root.right)
      }
      console.log(isSymmetric([1, 2, 2, 3, 4, 4, 3]))
    </script>
  </body>
</html>
